1. Field of the Invention
The present invention relates to information system networks and portable computing devices, and in particular, to a system and method for delivering content from a network to a portable computing device. Still more particularly, the present invention relates to a system and method for device-aware content delivery.
2. Description of the Background Art
The Internet and the World Wide Web have made great strides at bringing an incredible amount of information to the average home. Incredibly rich and detailed information about almost any part of the globe may reside merely a few keystrokes away from the typical computer user. Furthermore, new content such as movies and music are being delivered over these networks. But the typical computer user loses access to this rich pool of information once leaving home. Of course, the computer user could regain access to rich sources of information by reconnecting his computer to an electronic network after leaving home, but such connections are typically cumbersome and their availability is often limited.
There have been advances in the development of new data networks by large telecommunications companies. These new networks have a number of different types of access infrastructures and communication protocols. For example, Infrared, Bluetooth®, Ultra Wideband, RFID and WI-FI® are just a few of the new wireless communication mechanisms used to access these networks. In addition, each has different communications protocols and standards that may be used in conjunction with them. In addition to the increased number of data networks, there are also a myriad of new portable computing devices that each have different capabilities with regard to communication platform, communication protocol, computing power, display capabilities, etc. For example, there are simple cell phones with messaging capabilities; smart phone with increased capabilities, and Personal Digital Assistants (PDAs) with wireless communication capabilities. Within a particular device category, such as cellular phones, there are typically more than two hundred different models available in the market from a wide variety of manufacturers. Each of these devices typically has a different set of capabilities, features, and particular implementation of communications protocols, application interfaces, and operating systems.
In order to take some action dependent on the characteristics of a portable computing device, such as delivering content to the portable device that will be successfully and optimally matched to the characteristics of the device, there must be a mechanism to identify those device characteristics prior to or during data communications or other interactions with the device. This device identification may be a manual process such as user input on a website. However, this manual device identification may not be possible or may inhibit the use of a service due to user complexity of manual identification, lack of a convenient methodology for obtaining a manual selection, or constraints of time and place. For example, to transmit data from one computing device to another with the intention of executing, displaying, playing or otherwise successfully handling that data on the receiving device, the transmitting device must know both what communication protocols the receiving device supports, what kind of data the receiving device can handle, and what the operating system characteristics are prior to the transmission. Without such knowledge, the transmitted data may fail to be usable or interpretable by the device. If the transmitted data represents a software application to be subsequently executed on the device, without such knowledge, the application may fail to run or cause the device to crash.
While existing standards such as the Bluetooth® specification define standards for publishing supported communication protocols from one Bluetooth®-compliant device to another, they do not define a standard for publishing information that explicitly and uniquely identifies a device model, operating system, Central Processing Unit (CPU), or what types of data a device can receive and successfully handle. The device characteristics that Bluetooth® does make available to remote detection are very limited. Similarly, the Bluetooth® specification neither defines a standard nor requires that a Bluetooth®-compliant implementation publish information that explicitly identifies a device model, operating system, CPU or a list of supported data types. Furthermore, independent of standards, IrDA (Infrared Data Association) and Bluetooth® applications that ship pre-installed on mainstream computing devices often do not extend the minimal IrDA or Bluetooth® implementations to include access or publishing of the specific device characteristics mentioned above.